Skip to content

fix(subsonic): update existing playlist in-place by passing playlistId - #226

Open
wzli wants to merge 1 commit into
LumePart:devfrom
wzli:fix/subsonic-pass-playlist-id-on-create
Open

fix(subsonic): update existing playlist in-place by passing playlistId#226
wzli wants to merge 1 commit into
LumePart:devfrom
wzli:fix/subsonic-pass-playlist-id-on-create

Conversation

@wzli

@wzli wzli commented Aug 13, 2026

Copy link
Copy Markdown

Problem

In the Subsonic REST API specification, createPlaylist is the standard endpoint for both creating and replacing playlist tracklists:

  • Without playlistId, the server creates a new playlist entity.
  • With playlistId, the server updates the existing playlist in-place.

Previously, Explo did not pass playlistId in CreatePlaylist() and instead invoked DeletePlaylist() prior to creation. This destructively deleted the playlist entity from the database on every sync, assigning a new playlist ID and breaking client applications (e.g. Symfonium, DSub) that track playlist IDs for favorites and delta sync.

Solution

  1. In CreatePlaylist(), look up the existing playlist ID via SearchPlaylist(). If found, pass createPlaylist?playlistId=...&name=... to update the playlist tracklist in-place without altering its ID.
  2. In main.go, skip pre-deleting the playlist for subsonic (if cfg.ReplacePlaylist && cfg.System != "subsonic"), keeping DeletePlaylist() available on the Subsonic client interface.

@wzli
wzli force-pushed the fix/subsonic-pass-playlist-id-on-create branch from 12210da to 9229bbd Compare August 13, 2026 02:54
@wzli wzli changed the title fix(subsonic): pass playlistId in createPlaylist to update modification timestamp fix(subsonic): update existing playlists in-place and bump modification timestamp Aug 14, 2026
@wzli
wzli marked this pull request as draft August 14, 2026 08:08
@wzli
wzli force-pushed the fix/subsonic-pass-playlist-id-on-create branch from 498538f to 195c0d3 Compare August 14, 2026 08:08
@wzli wzli changed the title fix(subsonic): update existing playlists in-place and bump modification timestamp fix(subsonic): update existing playlist in-place by passing playlistId Aug 14, 2026
@wzli
wzli force-pushed the fix/subsonic-pass-playlist-id-on-create branch from 195c0d3 to 0f3be74 Compare August 14, 2026 08:34
@wzli wzli changed the title fix(subsonic): update existing playlist in-place by passing playlistId fix(subsonic): update existing playlist in-place and respect REPLACE_PLAYLIST from env Aug 14, 2026
@wzli
wzli force-pushed the fix/subsonic-pass-playlist-id-on-create branch from 0f3be74 to 4b1b007 Compare August 14, 2026 08:38
@wzli wzli changed the title fix(subsonic): update existing playlist in-place and respect REPLACE_PLAYLIST from env fix(subsonic): update existing playlist in-place by passing playlistId Aug 14, 2026
@wzli
wzli force-pushed the fix/subsonic-pass-playlist-id-on-create branch from 4b1b007 to 9539140 Compare August 14, 2026 08:42
@wzli
wzli marked this pull request as ready for review August 14, 2026 08:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant